/*用户登陆函数*/
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
#include "..\..\HeadFiles\PagesH\LoginPage.h"
#include "..\..\HeadFiles\MD5.h"


int loginUser(char yourName[]) // 返回1时登录成功，返回0时登录失败，返回-1时文件丢处1�7
{
    FILE *fp;     // 文件指针
    users user;   // 用户结构体变釄1�7
    users tmp;    // 临时结构体变量，用来存放文件中读取的数据
    char decryptId[33]; //账户的密斄1�7
    char decryptPwd[33];
    int flag = 0; // 标志变量，用来判断是否登录成劄1�7
    fp = fopen("../Data/LoginData/UserData.txt", "r"); // 以读取方式打弢�文件
    if (fp == NULL)
    { // 如果打开失败，输出错误信息并返回
       
        return -1;
    }
    printf("\n");
    printf("Please enter your login account:\n");
    scanf("%s", user.id); // 输入账号
    memcpy(yourName, user.id, sizeof user.id);
    MD5Function(user.id,decryptId);
    
    printf("Please enter your login password:\n");
    scanf("%s", user.pwd); // 输入密码
    MD5Function(user.pwd,decryptPwd);

    while (fscanf(fp, "%s %s\n", tmp.id, tmp.pwd) != EOF)
    { // 循环读取文件中的数据，直到文件末射1�7
        if (strcmp(decryptId, tmp.id) == 0 && strcmp(decryptPwd, tmp.pwd) == 0)
        { // 如果输入的账号和密码与文件中的数据匹配，则设置标志为1，并跳出循环
            flag = 1;
            break;
        }
    }
    fclose(fp); // 关闭文件浄1�7
    fp = NULL;
    if (flag == 1)
    { // 根据标志输出相应的信恄1�7
        return 1;
    }
    else
        return 0;
}

//获得电脑用户名
void getComputerName(char *szUserName)
{
    unsigned long dwNameLen = sizeof(szUserName);
    GetUserName(szUserName, &dwNameLen);
}

